A nonvolatile semiconductor storage device has a charge storage part which stores data by storing charge for each memory cell of the device. However, for such a device having a charge storage part across multiple memory cells, as the structure becomes finer, the charge stored in the charge storage part moves between the memory cells, and a transistor on/off voltage threshold in the device varies as the data is read.
Here, a scheme is proposed to address this problem.